查看原文
其他

让机器能像人一样思考的关键,是0和1?|秦曾昌专栏

2018-01-17 白天 秦曾昌 果壳科学人

作者:白天  秦曾昌

编辑:婉珺


让机器能像人一样思考?


有哪些特征可以将人类与其他生物区分开?最被人广泛接受的说法是,人类拥有自行设计、制造和使用工具这一独有的能力。


这个能力体现在一个更广的过程中:从利用已知设计和使用规则,到设计工具解决特定任务的问题,再到继续探究这一问题的本质。人在做出行为前,往往有着一套完整的思维过程——我们的大脑中会先有一个思维过程来模拟将要进行的动作,并且对风险进行估计,之后大脑才会通过神经驱动我们的双手(或其他部分)来完成这个任务。


那么,如果能通过某种方式描述人类的这一思维模式,再通过编程语言让机器“学会”它,那么这台机器便在一定程度上拥有了类似与人类的思维方式,这也是人类对于智能的直观认知。


图片来源:123rf.com.cn正版图片库


我们用到的就是逻辑的方式。


在亚里士多德的三段论之后,逻辑学家们开始尝试采用特定的符号来表征多个命题间的逻辑关系,这些符号统称为逻辑符号。常见的逻辑符号如:“→”表示“如果…那么”,“”表示“逻辑合取”,“”表示“逻辑析取”,“¬”表示否定。


“逻辑”三连(雾


到了17世纪,逻辑符号已趋于完善,逻辑学家们又开始思考,逻辑能否像经典数学问题一样进行推导及求解,从而把推理过程变成计算过程。提出这一想法的莱布尼兹虽然并没有给出解决方案,但其凭借“率先提出”了这一点,他依旧被公认为数理逻辑的奠基人。


又过了200年,到了19世纪,这一难题才最终被英国数学家布尔(George Boole)所解决,其解决问题的核心便是通过“逻辑代数”(即布尔代数)。

 

布尔关于逻辑代数的两本重要著作《思维规律的探索》和《逻辑的数学分析》。图片来源:blog.stephenwolfram.com


恐怕连布尔自己也不曾意识到,布尔代数在某种意义上极大地促进了逻辑问题在智能机器上的解决。


正是在布尔代数的基础上,弗雷格(Gottlob Frege )、罗素(Bertrand Russell)和怀德海(Alfred Whitehead)等人继续发展数理逻辑;霍恩(Alfred Horn)完成了完整的计算推演步骤;伟大的学者艾伦·图灵(Alan Turing)提出生活中的绝大多数问题都是可决策问题,而可决策问题都可通过计算解决;最后工程家约翰·冯·诺依曼(John Von Neumann)设计实现了我们今天的计算机。至此我们便可以利用计算机解决各类计算逻辑问题。


布尔代数不仅把逻辑学与数学联系到了一起,更是极大地提升了人类解决数值及逻辑问题的能力


布尔代数是何方神圣?


布尔发明布尔变量最初的目的,是想通过一系列数学公理来重现经典逻辑的运算结果。他利用等式表示判断,把推理看作等式的变换,而这种变换的有效性只依赖于符号的组合规律。


布尔首先定义了变量x、y、z……,每个变量的取值由两种状态组成,即“0”和“1”或“True”和“False”,再通过公式来表示命题间逻辑关系的推导。比如xy表示“与”,(1-x)表示“非”,x+y-xy表示“或”,x+y-2xy表示“异或”。


摘于布尔著作《逻辑的数学分析》。图片来源:blog.stephenwolfram.com


可以看出,布尔将类似于亚里士多德的“三段论”的表述方法,转化成可求解的数学问题。


为了增强与经典代数理论的联系,布尔沿用了经典代数的符号,即用“·”来表示“与”,用“+”来表示“或”,用1-x(也用)来表示x的“非”。


类似于经典代数中交换律、结合律、分配律等,布尔还规定了用于简化逻辑表达式的公理,更好地简化了逻辑运算的复杂性,使其能够符合逻辑推导的规律。至此,布尔成功地利用布尔代数将逻辑推导与数学运算结合到了一起,从而为逻辑问题向代数可计算问题的转变提供了理论基础。


部分逻辑计算的公理

 

一个迟到的应用,让人工智能成为可能


然而在布尔代数提出时,其影响远不如我们以为的那么轰动。实际上,在布尔代数理论提出后的很长一段时间内,都没有一个像样的现实应用,直到1938年克劳德·香农(Claude Shannon)在他的硕士论文(著名的A Symbolic Analysis of Relay and Switching Circuits,《继电器与开关电路的符号分析》)中指出当时的电话交换电路与布尔代数之间的类似性。


这篇论文把布尔代数的“真”与“假”和电路系统的“开”与“关”对应起来,并用1和0进行表示。香农用布尔代数分析并优化了开关电路,就此奠定了数字电路的理论根基。在此基础上,所有的数学运算,例如加、减、乘、除、乘方等基本代数运算,都可以转化为二值的布尔运算。换言之,我们可以利用简单的与逻辑、或逻辑、非逻辑,实现两个二进制数的加、减、乘、除、乘方等基本代数运算


A、B为输入的二进制数,Cin为来自低位的进位,Cout为输出二进制数,S为此位的进位。利用与门、或门、非门的组合,实现一位有进位的二进制数加法逻辑电路图。其中,与门、或门、非门是与逻辑、或逻辑、非逻辑的电路实现,一般利用二极管、三极管搭建所需电路。我们同样可以利用多个电路相连的方式,来解决多位二进制数的加法运算。

 

伴随着集成电路技术的诞生及发展,人们可以在一块面积很小的硅板上实现数量众多的逻辑门电路,从而实现复杂的数值与逻辑运算,人类世界的计算能力因此得到了质的提升。计算能力的提升,才使今天的互联网、移动互联网和人工智能技术成为可能。

 

作者名片

排版:晓岚

题图来源:123rf.com.cn正版图库


秦曾昌专栏  精彩回顾



欢迎个人转发到朋友圈

本文来自果壳网

转载请联系授权: sns@guokr.com

投稿请联系scientificguokr@163.com





果壳

从论文到科普,只有一步



【拓展阅读】机器学习可以帮助预防自杀吗?

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存